<fieldset>
		<legend>MODIFICATION DE PRODUITS</legend>
<?php 
require_once ('../../connexion.php');
$idProduit=$_POST['idItem'];
$nNom=$_POST['nom'];
$nImage=$_POST['nomImage'];
$nContenu=nl2br($_POST['contenu']);
$nType=$_POST['typeProd'];

try{
	// on charge le produit
	$sql='SELECT * FROM produits WHERE id=:idProduit';
	$select = $connection->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
	$select->execute(array(':idProduit' => $idProduit));
	$enregistrement = $select->fetch(PDO::FETCH_OBJ);
}catch(Exception $e){
	echo "<h3 class='error'>Impossible de selectionner le produit</h3>";
}

// si rien n'a été modifié : on ne fait rien
if(($nNom===$enregistrement->nom) && ($nImage===$enregistrement->idImages) && ($nContenu===$enregistrement->contenu) && ($nType===$enregistrement->idTypesProd)){
	echo "<h3>Aucune modification effectuée !</h3>";
}else{ // SINON
	try{	
		// on effectue la modification
		$sqlUpdate = 'UPDATE produits SET nom=:nom, idImages=:image, contenu=:contenu, idTypesProd=:idTypesProd  WHERE id=:id';
		$update = $connection->prepare($sqlUpdate, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
		$update->execute(array(':nom' => $nNom, ':image' => $nImage, ':contenu' => $nContenu, ':idTypesProd' => $nType, ':id' => $idProduit));
		
		// si le produit n'est plus du meme type	
		if($nType!=$enregistrement->idTypesProd){
			$sqlUpdate7 = 'UPDATE images SET idTypesProd=:idTypesProd WHERE id=:idImage';
			$update7 = $connection->prepare($sqlUpdate7, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
			$update7->execute(array(':idTypesProd' => $nType, ':idImage' => $enregistrement->idImages));
		}
		
		// on test si l'image est différente
		if ($nImage!=$enregistrement->idImages){
			
			try{
				// on update la nouvelle image
				$sqlUpdate2 = 'UPDATE images SET idProduits=:idProduit, idTypesProd=:idTypesProd WHERE id=:idnImage';
				$update2 = $connection->prepare($sqlUpdate2, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
				$update2->execute(array(':idProduit' => $idProduit, ':idTypesProd' => $nType, ':idnImage' => $nImage));
				
				try{
					// on update l'ancienne => null type+idProd
				$sqlUpdate3 = 'UPDATE images SET idProduits=NULL, idTypesProd=NULL WHERE id=:idImage';
				$update3 = $connection->prepare($sqlUpdate3, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
				$update3->execute(array(':idImage' => $enregistrement->idImages));
				echo "<h3>Modification effectuée !</h3>";
				}catch(Exception$e){
					// on annule update 1 
					$sqlUpdate4 = 'UPDATE produits SET nom=:nom, idImages=:image, contenu=:contenu, idTypesProd=:idTypesProd  WHERE id=:id';
					$update4 = $connection->prepare($sqlUpdate4, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
					$update4->execute(array(':nom' => $enregistrement->nom, ':image' => $enregistrement->idImages, ':contenu' => $enregistrement->contenu, ':idTypesProd' => $enregistrement->idTypesProd, ':id' => $idProduit));
					
					// et 2
					$sqlUpdate5 = 'UPDATE images SET idProduits=NULL, idTypesProd=NULL WHERE id=:idnImage';
					$update5 = $connection->prepare($sqlUpdate5, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
					$update5->execute(array(':idnImage' => $nImage));
					
					echo "<h3 class='error'>Une erreur est survenue lors de la modification</h3>";
				}			
			}catch(Exception$e){
				
				// on annule update 1
				$sqlUpdate6 = 'UPDATE produits SET nom=:nom, idImages=:image, contenu=:contenu, idTypesProd=:idTypesProd  WHERE id=:id';
				$update6 = $connection->prepare($sqlUpdate6, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
				$update6->execute(array(':nom' => $enregistrement->nom, ':image' => $enregistrement->idImages, ':contenu' => $enregistrement->contenu, ':idTypesProd' => $enregistrement->idTypesProd, ':id' => $idProduit));
				echo "<h3 class='error'>Une erreur est survenue lors de la modification</h3>";
			}
		}else{
			echo "<h3>Modification effectuée !</h3>";
		}
		
	}catch(Exception $e){
		echo "<h3 class='error'>Une erreur est survenue lors de la modification</h3>";
	}
}
?>
</fieldset>